﻿
using AutoMapper;
using BCDto.Location.Branches;
using BCDto.TMS.Agent.AgentAreaRecord;
using BCDto.TMS.Agent.AgentBranchesConfig;
using BCDto.TMS.Agent.AgentCurrentlyProtocol;
using BCDto.TMS.Agent.AgentCurrentlyProtocolAttachment;
using BCDto.TMS.Agent.AgentRecord;
using BCEntity.TMS.Agent.AgentAreaRecord;
using BCEntity.TMS.Agent.AgentBranchesConfig;
using BCEntity.TMS.Agent.AgentCurrentlyProtocol;
using BCEntity.TMS.Agent.AgentCurrentlyProtocolAttachment;
using BCEntity.TMS.Agent.AgentRecord;
using BCMongoEntity.TMS.Location.Branches;

namespace BCService.MapperProfiles
{
    public class AgentProfile : Profile
    {
        public AgentProfile()
        {
            CreateMap<AgentRecordEntity, AgentRecordDto>().IgnoreAllPropertiesWithAnInaccessibleSetter();
            CreateMap<AgentRecordDto, AgentRecordEntity>().IgnoreAllPropertiesWithAnInaccessibleSetter();
            CreateMap<AgentRecordViewEntity, AgentRecordViewDto>().IgnoreAllPropertiesWithAnInaccessibleSetter();

            CreateMap<AgentCurrentlyProtocolEntity, AgentCurrentlyProtocolDto>().IgnoreAllPropertiesWithAnInaccessibleSetter();
            CreateMap<AgentCurrentlyProtocolDto, AgentCurrentlyProtocolEntity>().IgnoreAllPropertiesWithAnInaccessibleSetter();

            CreateMap<AgentCurrentlyProtocolAttachmentEntity, AgentCurrentlyProtocolAttachmentDto>().IgnoreAllPropertiesWithAnInaccessibleSetter();
            CreateMap<AgentCurrentlyProtocolAttachmentDto, AgentCurrentlyProtocolAttachmentEntity>().IgnoreAllPropertiesWithAnInaccessibleSetter();

            CreateMap<AgentAreaRecordEntity, AgentAreaRecordDto>().IgnoreAllPropertiesWithAnInaccessibleSetter();
            CreateMap<AgentAreaRecordDto, AgentAreaRecordEntity>().IgnoreAllPropertiesWithAnInaccessibleSetter();

            CreateMap<AgentBranchesConfigEntity, AgentBranchesConfigDto>().IgnoreAllPropertiesWithAnInaccessibleSetter();
            CreateMap<AgentBranchesConfigDto, AgentBranchesConfigEntity>().IgnoreAllPropertiesWithAnInaccessibleSetter();

            CreateMap<BranchesLocationNearEntity, BranchesLocationNearDto>().IgnoreAllPropertiesWithAnInaccessibleSetter();
        }
    }
}
